Filtering Content in a Social Networking Service

ABSTRACT

A social networking service presents information about the social network using multiple feeds in a user interface and provides mechanisms for filtering the content. A content feed includes the most recent content generated by the user&#39;s connections, and a highlights feed displays content based on importance and relevance. A user may add content to the social networking service through a composer interface. A user may also filter either or both of the content feed and the highlights feed using a filtering interface, which allows selective filtering of the feeds using one or more different types of filters, including as filtering by the source of the content, friends or networks, and/or content type.

CROSS REFERENCE TO RELATED APPLICATION

This application claims the benefit of U.S. Provisional Application No.61/157,505, filed Mar. 4, 2009, which is incorporated by reference inits entirety.

BACKGROUND

This invention relates to social networking and, in particular, to auser interface for viewing content in a social networking service.

Social networking services include social utilities that track andenable connections between users (including people, businesses, andother entities), which have become prevalent in recent years. Inparticular, social networking services allow users to communicate moreefficiently information that is relevant to their friends or otherconnections in the social networking service. Social networking servicestypically incorporate a system for connecting users to content that islikely to be relevant to each user. For example, users may be groupedaccording to one or more common attributes in their profiles, such asgeographic location, employer, job type, age, music preferences,interests, or other attributes. Users of the social networking serviceand/or external parties can then use these groups to customize or targetinformation delivery so that information that might be of particularinterest to a group can be communicated to that group.

Because of the amount of information presented, a user may easily beoverwhelmed when navigating a social networking service. A user may onlyvisit the social networking service sporadically, in which caseunviewed, yet relevant, information about other users may be replaced bymore recent information. Retrieving the unviewed, missed content is mademore difficult because access to a specific type of content (such asphotos) by group, network, or friends is not provided.

Social networking services also paradigmatically provide the most recentand relevant information on its users in a news-reporting style. Insteadof a conversational tone, social networking services broadcast newsstories using a third person tone of voice, such as “Michael issleeping” or “Phil posted a link to a video.” This is problematicbecause the tone of voice does not encourage users to engage in aconversation, and it may lead to inefficient information deliverybecause friends who may be talking about the same topics are unaware ofeach other's existence.

Furthermore, advertisers wishing to use users' affinities, or commonattributes, as targeting criteria for advertisements have difficultyplacing their ads in contextually relevant areas, a problem called “adblindness.” As a result, users may be inundated with advertisements forproducts unrelated to the context of what the users are currentlyviewing. For example, an advertisement about local barber shops may betargeted to a male demographic, but the advertisement lacks contextualrelevance when the user is viewing a video about Yoga. Thus, these adsare largely ignored by users of a social networking service.

SUMMARY

To enhance a user's social networking experience, a social networkingservice presents content related to a social network using one or morefeeds in a user interface. A user interface of the social networkingservice may allow a user to filter the content displayed in the one ormore feeds from the social networking service. Beneficially, this mayfacilitate the user's consumption of what may be a large amount ofcontent provided by the social networking service.

In one embodiment, the user interface includes a filtering interfacethat allows a user to filter either or both of the feeds based onvarious criteria. For example, the filtering interface may enablefiltering of one or both of the content feed and highlights feedaccording to attributes of the content items in each of the feeds. Thefiltering interface may enable filtering by attributes that include,without limitation: source of the content item (i.e., the friend,entity, or application that created the item), network (i.e., a list orgroup of friends), and content type. In addition to filtering thecontent feed, the highlights feed, in one embodiment, may also presentcontent based on the same filtering method selected by the user.

The user interface may also include a content feed, which includes themost recent content generated by other users and entities to which theuser is connected, and a highlights feed, which displays various typesof information based on importance and relevance to the user. With thesetwo different types of feeds, the user interface enables the socialnetworking service to present the most recently updated content to userswhile, at the same time, presenting the most relevant content to theuser at that moment. In this way, the relevance of content is decoupledfrom the newness of content (i.e., how recent the content was created)that is presented in the user interface.

The user interface may also include a composer interface, which allows auser to add content to the content feed of other users who are connectedto the user. The composer interface encourages the user to engage in aconversation with other users by generating content to the content feedvia the composer interface, even while the user is passively viewinginformation about other users in the social networking service. Whenused in conjunction with the filtering interface, the composer interfacemay further encourage the user to generate the same type of contentbeing filtered in the content feed and the highlights feed by presentingtools to generate content in accordance with a type of content selectedfor the filtering. In one embodiment, the content feed, highlights feed,and composer interface may be linked to the filtering interface via theselected filter.

In one embodiment, the highlights feed presents information to the userthat is contextually relevant based on the user's attributes, oraffinity, and based on the content currently being viewed by the user.For example, if the user has selected a filter for photos and one of thephotos presented in the content feed is a photo from an album called“skydiving,” the highlights feed may determine the contextual relevanceof skydiving (or another extreme sport) and display content based onthat contextual relevance. The highlights feed, in one embodiment, maybe displayed in the user interface as a user navigates the socialnetworking service. In one embodiment, the highlights feed containscontent that is selected in part based on its relevance of the othercontent contained in the user interface outside of the highlights feed.For example, if a user is viewing a video showing yoga poses, anadvertisement about a yoga class may be selected and shown in thehighlights feed.

The features and advantages described in this summary and the followingdetailed description are not all-inclusive. Many additional features andadvantages will be apparent to one of ordinary skill in the art in viewof the drawings, specification, and claims hereof.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a high level conceptual diagram of one embodiment illustratingthe filtering of content items into a content feed and a highlightsfeed.

FIG. 2 is a screenshot of one embodiment showing a content feed, ahighlights feed, a composer interface, and a filtering interface.

FIG. 3 is a high level block diagram of the system environment andarchitecture of a social networking service, according to oneembodiment.

FIG. 4 is another screenshot of one embodiment showing a content feed, ahighlights feed, a composer interface, and a filtering interface thatfilters by photos.

FIG. 5 is a screenshot of another embodiment that filters by photos andby a specified network.

FIG. 6 is a screenshot of another embodiment that filters by links.

The figures depict various embodiments of the present invention forpurposes of illustration only. One skilled in the art will readilyrecognize from the following discussion that alternative embodiments ofthe structures and methods illustrated herein may be employed withoutdeparting from the principles of the invention described herein.

DETAILED DESCRIPTION Overview of Social Networking Service

A social networking service offers its users the ability to communicateand interact with other users of the service. In use, users join thesocial networking service and then add connections to a number of otherusers to whom they desire to be connected. As used herein, the term“friend” refers to any other user to whom a user has formed aconnection, association, or relationship via the service. Connectionsmay be added explicitly by a user, for example, the user selecting aparticular other user to be a friend, or automatically created by thesocial networking service based on common characteristics of the users(e.g., users who are alumni of the same educational institution).Connections in social networking services are usually in bothdirections, but need not be, so the terms “user” and “friend” depend onthe frame of reference. For example, if Bob and Joe are both users andconnected to each other in the service, Bob and Joe, both users, arealso each other's friends. The connection between users may be a directconnection; however, some embodiments of a social networking serviceallow the connection to be indirect via one or more levels ofconnections. Also, the term friend need not require that users actuallybe friends in real life, (which would generally be the case when one ofthe users is a business or other entity); it simply implies a connectionin the social networking service.

In addition to interactions with other users, the social networkingservice provides users with the ability to share content items generatedon the service or on an external service or website. These content itemsmay include groups or networks (where “networks” here refer not tophysical communication networks, but rather social networking servicesof people) to which users of the service may belong, events or calendarentries in which a user might be interested, computer-based applicationsthat a user may use via the service to generate content, andtransactions that allow users to buy or sell items via the service.These are just a few examples of the items that a user may share on asocial networking service, and many others are possible. A socialnetworking service, thus, may be alternatively described as a pluralityof interconnected nodes, where nodes refer to the users, entities, andcontent items existing on the social networking service.

Navigating a social networking service, especially when a user hashundreds, or even thousands of friends, can be daunting due to the sheeramount of information available to the user within these content items.“Content,” as used herein, refers also to “content segments” and“content items” in addition to “user-generated content.” Actionsperformed by the other users of the social networking service, includingsharing and posting content to a “wall,” are visible to the user as“stories” about the actions performed. Content, therefore, includesthese stories about actions taken by other users of the socialnetworking service.

Generating content includes uploading songs, videos, photos, and textusing computer-based applications that publish the content to the socialnetworking service. The term “user-generated content” also describesthis content because users generate the content using the computer-basedapplications available on the social networking service. Content may beposted to a user's wall by a friend or connection of the user. Inaddition, a user may post content to the user's own wall. Other types ofcontent, such as GPS applications that provide a user's locationcoordinates in real-time, as well as games and other third-partyapplications on the social networking service, may be generated by theuser or any authorized user.

Content on a social networking service may further includeadvertisements from users of the social networking service. Becauseusers of the social networking service also include non-physicalentities such as businesses and organizations and because groups ofusers often generate walls of content as well, the content delivered toa particular user navigating the social networking service must befiltered due to the enormity of information and content being generatedby users, or, more generally nodes, of the social networking service.

Delivery of the most relevant information requires algorithms to filterthe raw content on the network. Content is filtered based on theattributes in a user's profile, such as geographic location, employer,job type, age, music preferences, interests, or other attributes.“Newsfeed stories” may be generated to deliver the most relevantinformation to a user based on a ranking of the generated content,filtered by the user's affinity, or attributes. Applying this algorithm,newsfeed stories present the user with the most recent and most relevantcontent available on the social networking service.

This information delivery approach, while effective in conveying usefulinformation, presents a challenging problem for users of the socialnetworking service. In order to “keep up” with the friends andconnections made on the social networking service, a user must regularlyvisit the social networking service; otherwise, the user would missrelevant information that expires as more recent and relevantinformation is posted by other users. Thus, this filtering approach doesnot provide the user access to all of the relevant information on thesocial networking service because older information, though relevant, isconstantly being replaced by newer information. The filtering approachfurther does not enable the user to manually distill the raw informationthat is available on the social networking service because the filteringapproach relies on the newsfeed generation algorithm described in arelated application, “Communicating Information in a Social NetworkingWebsite About Activities from Another Domain,” U.S. Ser. No. 12/193,705hereby incorporated by reference.

In addition, the newsfeed stories present content in a third partyvoice, much like a news reporting service. For example, a newsfeed storywould state that “Michael posted a video” and include a videoapplication frame through which a user could view the video. Althoughthis vantage point of the social networking service effectively presentsthe information on the network, the user experience is diminishedbecause a third party voice presents the information in a cold anddetached manner. Thus, the newsfeed's third party voice may notencourage a user to take action within a social networking service asmuch as a more personal tone of voice.

Overview of Filtering the Content Feed and Highlights Feed

FIG. 1 depicts a high level conceptual diagram of the inventionaccording to one embodiment. A user interface 100 through which a usermay view content generated by other users of a social networking serviceis illustrated. Content items 105 are received by the user interface100. Other users in the social networking service generate the contentitems 105 and a user of the social networking service may subscribe toother users, allowing the subscribing user to view the content itemsgenerated by the other users. Being “subscribed” to a particular user,in this context, informs the social networking service of thesubscribing user's interest in the particular user's feed of contentitems. In one embodiment, a user's connections to other users of thesocial networking service automatically subscribe the user to his or herconnected users.

The user interface 100 comprises selectable filters 125, a content feed130, and a highlights feed 135. A user may select a filter 125 to view asubset of the content items 105 available for display in the userinterface 100. Each of the selectable filters 125 specifies a criteriato be applied to the received content items 105.

The filter 125 identifies, of the content items 105 to be displayed,particular content items 110 and 115 that will appear in the contentfeed 130. The particular content items 110 and 115 are consistent withthe criteria specified by the filter 125. In one embodiment, the contentitems 110 and 115 appear in chronological order in the content feed 130.

Similarly, the filter 125 may also identify, of the content items 105 tobe displayed, particular content items 120 that will appear in thehighlights feed 135. The particular content items 120 are consistentwith the criteria specified by the filter 125. In another embodiment,the content items 120 appear in order of relevancy to the filter 125. Inthis way, older content items 105 that were received further back intime, but relevant to the filter 125, may be viewed in the userinterface 100.

FIG. 2 illustrates a layout of one embodiment of a user interface for asocial networking service using a content feed 215 and a highlights feed220, corresponding to the content feed 130 and highlights feed 135 ofthe conceptual diagram illustrated in FIG. 1. A filtering interface 205is displayed to indicate that the interface is set 200 to “Newsfeed,”meaning that no filters are turned on. In this embodiment, the filters205 allow all content from all applications and all networks to bepresented. A composer interface 210 is also displayed to enable the userto add, or upload, content to the social networking service. Using thecomposer interface 210, a user may update his status, post a link, addphotos, and write a note. These actions are provided for illustrationpurposes only as more actions 265 are available to perform via thecomposer interface 210. Applications are also listed in the filteringinterface 205. By selecting one of the applications, a user may filtercontent by photos, links, and video. The user may also filter by moreapplications 275 available by selecting “More.” A popup window wouldappear in which the user could select more applications to filter. Thus,content generated by applications can be filtered so that a user caneasily view that content.

Content Feed

The content feed 215 presented to the user in FIG. 2 displays the mostrecently posted content and related actions performed by friends andconnections on the social networking service. For example, the contentfeed 215 shows, in reverse chronological order, that a friend added anew photo 225. Another friend posted a status update 235. Yet anotherfriend uploaded a video 240 related to Yoga. And another friend uploadeda photo 270 about food.

Because no filters have been specified 200 in the filtering interface205, the content feed 215 displays all types of content available on thenetwork from friends and connections of the user in reversechronological order. As a result, the content feed is more deterministicbecause the content displayed in the content feed 215 reflects exactlywhat content is being posted on the social networking service inreal-time.

The content feed 215 is presented in the first person voice. Eachcontent segment identifies the name of the actor, a message by theactor, and is followed by the attached media. For example, a friendnamed “Jared” added a photo that is shown in content segment 225.Underneath the photo is a timestamp and options to “comment,” “like,” or“share” the photo. Other actions not listed are also available, such asattaching other types of media content. In the content segment 225,“Jared” did not include a message, but only shared a photo. However, thephoto generated by Jared shares non-verbal information with the userviewing the content feed 215. In this way, the content feed 215encourages a conversational way of content sharing. Instead of reportingpassive actions, the content feed delivers content to the user in afirst person voice.

The user can engage in a conversation by attaching content to contentsegments of the content feed 215. As mentioned above, generating contentmay include text, audio, video, or any other user-generated content thatcan be uploaded to the social networking service. Alternatively, theuser can generate content in the content feed 215 using the composerinterface 210.

The content feed 215 is linked to the filtering interface 205 to enablethe user to filter the raw content based on various combinations offilters 200. The content feed 215 shows only the qualifying content byapplying the filters selected by the user to the raw content. In thisway, the user may refine the display of content in the content feed 215using the filters available on the social networking service.

The content feed 215, in one embodiment, also enables users to followfriends that they want to hear from more regularly and ignore otherfriends that may share too much information. This feature helps a userwho may have large numbers of friends, but who may really want to onlyinteract with a smaller subset of those friends. One option, in oneembodiment, is for the social networking service to automatically filterdown the list of friends that a user is “following” in the content feedto include only friends for which the user has a high affinity, whileexcluding friends that the user identifies as sharing too muchinformation in the user's content feed 215. In this context, the term“following” means the act of directing a friend's generated content tobe included into a user's content feed 215. A user can follow a friendor another user of the social networking service in a variety of ways,such as by expressly adding the other user to the content stream, or thesocial networking service may add the other user without an expressrequest based, for example, on actions by the user indicating aninterest.

Another option is for the user to manually create “friend lists,” oruser-defined lists of users to which the user is connected, in order todefine the smaller subset of friends that the user wants to view contentfrom in the content feed 215. In this way, a user may manually adjustthe friends that she is following to include or exclude friends based onher preferences. For example, if a user has 1000 friends, she probablyonly interacts with 25 friends on a regular basis. Interactions mayinclude, but are not limited to, clicking on the “like” feature of afriend's posted content, commenting on a friend's posted content,sharing a friend's posted content with the user's other friends, writingon a friend's wall, and using other applications to interact with afriend. Numerous interactions result in a higher affinity for a friend.Thus, for example, the user may initially be following only 25 friendsof her friends in the content feed 215 because the social networkingservice automatically filtered her content feed 215 by affinity forfriends. Additionally, she may manually adjust who she is following toinclude other friends or exclude friends whose content she doesn't wantto view by defining groups of friends, or friend lists, to be used bythe filtering interface described above. By excluding, or ignoring,these friends, she is not severing the connection in the socialnetworking service, but merely focusing her content feed 215 to onlyinclude content from the friends she wants to hear from the most.

Highlights Feed

Also in FIG. 2, a highlights feed 220 presents the most relevant contentto the user where the relevancy is based on an affinity score and adecay factor used in the newsfeed generation algorithm described above.The highlights feed 220 displays content, or a preview of the content,generated by users in the social networking service. Content may furthercomprise stories about actions taken by other users of the socialnetworking service. The highlights feed 220 ranks the content accordingto the affinity score and the content will expire based on the decayfactor. Thus, if a user has a high affinity for photos, videos, andlinks, more of that type of content will be displayed in the highlightsfeed 220. Additionally, a user may also want to view the content postedby a selected number of friends, based on the user's personalconfiguration of these preferences or the newsfeed generationalgorithm's determination of these preferences. Thus, although thehighlights feed 220 implements the same newsfeed generation algorithm,the highlights feed 220 presents content in a ranked order based onimportance/relevance only. Content is presented without regard to itshistory. As a result, relevant content that may be interesting to a useris shown in the highlights feed 220.

Additionally, the highlights feed 220 may, in an alternative embodiment,include the “following” feature included in the content feed 215,described above. This would limit the display of content that appears inthe highlights feed 220 to only the content generated by friends thatthe user is following.

In FIG. 2, the highlights feed 220 displays a preview of a photo album230 in which two friends were tagged. An advertisement about yoga isdisplayed in segment 245. A video that a friend likes is displayed insegment 255. Next, an advertisement 250 about an event giving out a freeice cream cone is displayed with a request to add the event to theuser's calendar is displayed. Finally, a link 260 to a news storyregarding politics is shown. The display of these segments in thehighlights feed 220 does not report that a particular friend posted thecontent. Rather, the relevance of the content and a preview of thecontent itself, along with a social aspect of the content (the number offriends that like the content, names of friends who like the content) isdisplayed. In this way, less information is given, enabling the user toglance over the highlights feed 220 to determine if anything isinteresting. Thus, the focus is on the content, not the user who postedthe content.

The highlights feed 220 is also distinguishable from the newsfeedbecause the highlights feed 220 displays contextually relevant contentthroughout the social networking service by displaying information thatis related to what is currently being viewed by the user on the socialnetworking service. For example, in the content feed 215, a statusupdate 235 is displayed. The highlights feed 220 displays thecontextually relevant content segment 260 that relates to a link about apolitical news story 260. User-generated content posted by a friend,such as the link to the news story relating to politics 260, ispresented in the highlights feed 220 because it is relevant to thepolitical status update 235 displayed in the content feed 215. Anotherexample of the highlights feed 220 presenting contextually relevantcontent is, in response to a video 240 uploaded by a friend relating toyoga masters, an advertisement 245 is displayed in the highlights feed220 that relates to finding a yoga studio in San Francisco (presumablyone of the networks which the user has joined). Thus, content withattributes matching the attributes of the currently viewable contentwill appear in the highlights feed 220.

In addition, the highlights feed 220 sorts content segments based on theoverall score on an absolute basis. Content segments may appear in ahigher or lower position as they are determined to be more or lessinteresting. For example, if a photo receives numerous comments, itmight climb in ranking. However, once the comments start to expire,meaning that the comments are getting older, the photo would falldownwards in the rankings By decoupling relevant content from timesensitive content, the user interface enables users to view morerelevant content that is interesting.

System Architecture

FIG. 3 is a high level block diagram illustrating a system environmentsuitable for operation of a social networking service 300. The systemenvironment comprises one or more user devices 310, one or more externalwebsites 315, a social networking service 300, and a network 305. Inalternative configurations, different and/or additional modules can beincluded in the system.

The user devices 310 comprise one or more computing devices that canreceive user input and can transmit and receive data via the network305. For example, the user devices 310 may be desktop computers, laptopcomputers, smart phones, personal digital assistants (PDAs), or anyother device including computing functionality and data communicationcapabilities. The user devices 310 are configured to communicate vianetwork 305, which may comprise any combination of local area and/orwide area networks, using both wired and wireless communication systems.

FIG. 3 also illustrates a block diagram of the social networking service300. The social networking service 300 includes a web server 330, an adserver 325, a user profile store 320, an entity store 340, anapplication data store 335, a transaction store 355, a content store345, an event store 360, and a group store 350. In other embodiments,the social networking service 300 may include additional, fewer, ordifferent modules for various applications. Conventional components suchas network interfaces, security mechanisms, load balancers, failoverservers, management and network operations consoles, and the like arenot shown so as to not obscure the details of the system.

The social networking service 300 comprises a computing system thatallows users to communicate or otherwise interact with each other andaccess content as described herein. The social networking service 300stores user profiles that describe the users of a social networkingservice, including biographic, demographic, and other types ofdescriptive information, such as work experience, educational history,hobbies or preferences, location, and the like. Additionally, the socialnetworking service 300 includes user-defined connections betweendifferent users, allowing users to specify their relationships withother users. For example, these user defined connections allows users togenerate relationships with other users that parallel the users'real-life relationships, such as friends, co-workers, partners, and soforth. Users may select from predefined types of relationships, ordefine their own relationship types as needed.

A user (or other type of node) may have a particular affinity, which maybe represented by an affinity score, for another node on a socialnetworking service. In this context, an affinity score indicates thestrength of correlation or interest between a user and another node inthe social networking service. Affinity scores for a user's connectionsare stored in the user profile object for that user in the user profilestore 320. As indicated above, a node may be a user, entity, or anyother object with which a user may engage and interact on a socialnetworking service. Methods for determining affinities between users ofa social networking service are described further in U.S. applicationSer. No. 11/503,093, filed Aug. 11, 2006, which is hereby incorporatedby reference in its entirety.

The social networking service 300 maintains data in a database about anumber of different types of objects with which a user may interact onthe social networking service 300, including content items, entities,events, applications, groups, and transactions. To this end, each of theuser profile store 320, the content store 345, the entity store 340, theevent store 360, the application data store 335, the group store 350,and the transaction store 355 stores a data structure in a database tomanage the data for each instance of the corresponding type of objectmaintained by the website 300. The data structures comprise informationfields that are suitable for the corresponding type of object. (Forexample, the event store 360 includes data structures that include thetime and location for an event, whereas the user profile store 320includes data structures with fields suitable for describing a user'sprofile.) When a new object of a particular type is created, the service300 initializes a new data structure of the corresponding type, assignsa unique object identifier to it, and begins to add data to the objectas needed. This might occur, for example, when a user uploads a newcontent item, wherein the social networking service 300 would generate anew instance of a content item in the content store 345, assign a uniqueidentifier to the event, and begin to populate the fields of the eventwith information provided by the user and, subsequently as the contentitem is posted, by users interacting with the content item.

An ad server 325 generates and delivers advertisements to user devices310. In one embodiment, an ad server 325 may access the various filterscreated by users and/or automatically created by the social networkingservice 300. An analysis of the filters may help advertisers developbetter marketing campaigns through more selective targeting techniquesutilizing information about users' preferred filters. Targetingadvertisements are further described in a related application, U.S.application Ser. No. 12/195,321, filed Aug. 20, 2008, which is herebyincorporated by reference in its entirety.

The web server 330 links the social networking service 300 via thenetwork 305 to one or more user devices 310; the web server 330 servesweb pages, as well as other web-related content, such as Java, Flash,XML, and so forth. The web server 330 may include a mail server or othermessaging functionality for receiving and routing messages between thesocial networking service 300 and the user devices 310. The messages canbe instant messages, queued messages (e.g., email), text and SMSmessages, or any other suitable messaging technique. In anotherembodiment, the social networking service is implemented on anapplication running on a user device 310 that accesses information fromthe social networking service using APIs or other communicationmechanisms.

Other Filtering Scenarios

FIG. 4 illustrates the content feed 215 after the user selected 400 aphoto filter via the filtering interface 205. The photo filter 400enables the user to view all user-generated content posted by friendsand connections related to photos in reverse chronological order. Asshown in FIG. 4, the segments 225 and 270 related to photos in FIG. 2are displayed in the content feed 215. Further, a fan posted a photo 410on a fan page that the user is also a fan of, thus qualifying thecontent to be displayed in the content feed 215. Even though the fan maynot be a direct friend or connection to the user, the user's connectionto the fan page enables this content to be displayed in the content feed215. An advertisement 415 that requests the user to upload a photo tothe social networking service regarding a promotion is also presented tothe user in the content feed 215. Finally, photos uploaded by a friendusing a mobile device 425 are also presented to the user via the contentfeed 215.

FIG. 5 illustrates the content feed 215 after the user, having alreadyselected a photo filter 400 in FIG. 4, selects another filter 500 tofilter by network in an alternative embodiment. Older content segment505 appears near the end of the content feed 215. In this case, a friendinitially posted the content segment 505 displaying a photo of a puppy.In response, a friend of the friend responded to the content segment 505by adding her own photo of another puppy 510. The user may decide topost a photo or generate other content in the content segment 505. Or,he can generate content that is separate from the content segments 505and 510 by using the composer interface 210 to add content to thecontent feed 215. Another advertisement 520 is displayed in the contentfeed 215 that is targeted to lawyers because the selected networkfilters 500 include a filter by a law firm's network. FIG. 6 similarlydepicts a content feed 215 that filters by links and is discussed inmore detail below.

The content feed 215 may be filtered by any combination of network,group, application, and by content type while the newsfeed can only befiltered by one method at a time and some filters available to thecontent feed 215 are not available to the newsfeed. In one embodiment,the content feed 215 may use a filter by friends (i.e., filter by group)or dynamic (i.e., filter by network). Because users determine thenetworks to which they belong, a filter by network enables a user tofilter by a group of friends that does not need to be maintained.Finally, the user may engage in a conversation with other users andfriends in the social networking service because content is delivered tothe user in the first person voice. By attaching content to postedcontent in the content feed 215 or adding content via the composerinterface 210, a user can easily engage in a conversation with otherusers of the social networking service in the content feed 215. Theconversation may be in the form of text, audio, visual, or any otheruser-generated content that can be uploaded to the social networkingservice. In this way, a content-based conversation occurs in the contentfeed 215.

Returning now to FIG. 4, in which the content filter 400 has beenspecified to filter for photos, the highlights feed 220 also displayscontextually relevant content. For example, the highlights feed presentsan advertisement 405 relating to gourmet food delivery in response to asegment in the content feed 215 that displayed a photo 270 relating tohunger. In this embodiment, content in the highlights feed 220 iscontextually relevant in that it relates to content in the content feed215. In this way, advertisers may place advertisement in contextuallyrelevant areas on the social networking service, thus eliminating “adblindness.” In addition, a user can quickly view the posted content oftheir friends and connections using the highlights feed 220. Thus, thehighlights feed 220 displays contextually relevant content, dependent onthe shared attributes of the two content items (gourmet food andhunger).

As shown in FIG. 4, the highlights feed presents an advertisement 405relating to gourmet food to the user. The preview of the photo album 230remains in the highlights feed 220 from FIG. 2 because the photo album230 qualified under the selected filter. Next, a photo 420 which 2friends like is shown in the highlights feed 220. A photo album 430 inwhich Sabra was tagged is also displayed in the highlights feed 220.Next, an advertisement 435 requesting the user to upload a photo isdisplayed. Finally another advertisement 440 relating vacations isdisplayed in the highlights feed 220.

Similarly in FIG. 5, the highlights feed 220 continues to displaycontextually relevant items. Many of the same segments shown in FIG. 4are also shown in FIG. 5 because the user selected a filter by network.The segments that are shown in the both FIGS. 4 and 5 are photo contentshared by friends in the Fenwick & West network. Additionally, becausephoto content related to puppies in content segments 505 and 510 isviewable, an advertisement 515 appears in the highlights feed 220 thatadvertises a local puppy shelter.

The highlights feed 220 is also linked to the filtering interface 205 inthe same way as the content feed 215. For example, if the user selecteda filter by network, both the highlights feed 220 and the content feed215 would only display content from friends and connections in theselected network. In this way, the highlights feed 220 presents the mostrelevant content posted by friends and connections in the selectednetwork. As mentioned above, an advantage of this type of filteringmethod is that, because users choose to opt-in or opt-out of a network,the network is not managed by a single entity, but rather by the usersopting to be in a certain network. Thus, a user can view both the mostrecent content posted on the social networking service via the contentfeed 215 and the most relevant content posted on the social networkingservice via the highlights feed 220 as filtered by a network that isdecentralized because membership management of the selected network isperformed by the individual users of that network, rather than centrallymanaged by one entity.

In sum, the highlights feed 220 displays contextually relevant contentthroughout the social networking service. Content items are not timesensitive and will not expire or be replaced by newer items, but insteadare ranked by importance/relevance as determined by the sharedattributes of the user's profile and the content items. In addition, thecontent is featured in the highlights feed 220 surfaces, in oneembodiment, due to the social context (such as when multiple friendspost the same link to a video). Thus, content is shared based on itsrelevance based on how popular a content item may be in the socialnetworking service, or by the user's affinity for the content item.

Filtering Interface and Composer Interface

Filtering interface 205 provides the user with options to filter thecontent in the content feed 215 and the highlights feed 220. Multiplefilters can be used to pinpoint the type of content and information thatthe user wishes to view. FIG. 4 illustrates one filter selected todisplay only photos. FIG. 5 displays filters 500 that display contentrelated to friends in a specified network as well as limiting the typeof content to photos. As a result, the first segment 225 shown in thecontent feed 215 of FIG. 4 disappears in FIG. 5 because, in thisexample, Jared is not a user of the Fenwick & West network. The rest ofthe content that was displayed in the content feed 215 in FIG. 4 shiftsup in FIG. 5 allowing older content segment 505 to be displayed. Thehighlights feed 220 remains basically unchanged from FIG. 4 to FIG. 5because the friends listed in the highlights feed 220 happen to all be apart of the selected network filter. However, the advertisement 515 nowdisplays an ad about a puppy shelter in response to the older contentsegment 505 becoming viewable.

The composer interface 210 is also linked to the filtering interface205. If the user selects a filter by application or by content type, thecomposer interface 210 displays content generating tools related to theselected application/content filter. If, on the other hand, the userselects a filter by network, the composer interface 210 is not affectedbecause the network filter only relates to grouping of the user'sfriends, not the content generated by the friends. Thus, the composerinterface 210 would display the same content generating tools as in FIG.4 after a user selects a network filter in FIG. 5.

The filtering interface 205 is also linked to the composer interface210, as well as the content feed 215 and highlights feed 220. Forexample, a user might decide to post a link using the composer interface210. After selecting the “Post a Link” button in the composer interface210, in one embodiment, the filtering interface may be automaticallyconfigured to filter the content feed 215 and the highlights feed 220 tofilter by Links, as shown in FIG. 6. By linking the composer interfaceto the filtering interface in this way, the user can quickly see if oneof his friends or connections recently posted the same link to theservice in the content feed 215, or if the link showed up in thehighlights feed 220 due to its relevance. This linkage between thecomposer interface 210 and the filtering interface 205 to automaticallyfilter the content feed 215 and highlights feed 220 by content or byapplication type is not limited to the actions depicted in the figures(update status, post a link, add photos, and write a note) but alsoincludes more actions 265 that are configurable by the user.

Other Embodiments

As shown in FIG. 4, if a user wanted to view the most recent photosuploaded by friends, the user would select a filter 400 to view photosonly in the filtering interface 205. The content feed 215 would thenpresent all the photos that have been uploaded recently. Simultaneously,the highlights feed 220 would also display photos which have beendetermined to be the most relevant to the user based on an affinityscore and decay factor, in one embodiment. The composer interface 210presents the user with ways of uploading content consistent with theselected filter, in this case, a photo content type filter. Thus, theuser is provided with ways to the content feed by adding photos,creating a photo album, posting a photo, and even taking a photo with acamera device attached.

FIG. 5 illustrates another filter, one by friends, applied to receivedcontent items in content feed in addition to the photo filter in FIG. 4.Thus, a user can specify that only content related to photos generatedby friends and connections in the Fenwick & West network should bedisplayed in the content feed 215 and highlights feed 220.

FIG. 6 illustrates another embodiment of navigating a social networkingservice using a content feed 215 and a highlights feed 220 in which thefiltering interface 205 is configured to show links, which are URLs ofexternal websites that friends and connections on the social networkingservice have posted. The content feed 215, updated in real time in oneembodiment, presents links that have been posted by friends in reversechronological order. A friend posted a link to a fan page 605. A friendposted a link to a video 610. Another friend posted a link to a newsstory 615. And finally, an advertiser promotes a new song by placing anad 620 in the content feed 215. Note that any advertisement can beplaced in a content feed in which filters have been configured todisplay links only because users selecting to view content by links areinclined to clicking on links in rapid succession. Thus, a user mightmistake a sponsored ad for a link that was posted by one of his friends.In effect, placement of ads in either the content feed 215 or thehighlights feed 220 under these circumstances becomes very valuable toalmost any advertiser.

Additionally, although only links are being displayed in the contentfeed 215 in FIG. 6, the content feed 215 still emulates a conversationbecause the friend posting the content makes a comment about the linkbeing posted. Thus, regardless of the type of content being displayed inthe content feed 215, the structure of each content segment remains inthe first person voice.

FIG. 6 also illustrates highlights feed 220 that presents links that aremost relevant to the user and links that are contextually relevant tocontent that is currently being viewed on the page. For example, a linkto a blog post 625 that multiple friends have posted is displayed firstbecause it is probably most relevant due to the number of friends thatposted the link. Another friend's posted link to a video 255, which isless relevant based on the affinity score and decay factor, is displayednext. An advertisement 630 relating to an upcoming movie is inserted inthe highlights feed. Next, another friend's posted link 260 isdisplayed. A user selecting to filter by links is in the mood to clickon interesting headlines that are either most recent (in the contentfeed 215) or most relevant (in the highlights feed 220). Finally, a link635 to a fan page, The New York Times, is displayed in the highlightsfeed 220.

FIG. 6 also shows how easily the user can post a link. Using thecomposer interface 210, which has been modified to prepare the user topost a link, the user may simply enter a URL into the field and then theuser may preview the post before actually posting the link. The previewmay appear as a pop-up window that allows the user to comment on thelink, thereby creating user-generated content in the form of the user'spersonal reflection or opinion of the link. As shown throughout thecontent feed 215, these personal reflections on the links postedsimulate a conversational way of sharing content. Alternatively, theuser can choose to comment or share any of the posted links that appearin the content feed 215 and highlights feed 220. Thus, both ways ofgenerating links contribute to a conversational way of communicating onthe social networking service.

Although filtering content items has been described thus far in thecontext of web pages of a social networking service, filtering contentitems into one or more feeds may be implemented using variouscommunication mechanisms, such as mobile APIs, a comment box on externalwebsites, SMS text messaging, notifications, email, among others. As aresult, delivery of information to users of a social networking servicemay comprise multiple communication mechanisms, making the filteringmethods described herein very valuable and beneficial to enhancing theuser experience of the service.

Summary

The foregoing description of the embodiments of the invention has beenpresented for the purpose of illustration; it is not intended to beexhaustive or to limit the invention to the precise forms disclosed.Persons skilled in the relevant art can appreciate that manymodifications and variations are possible in light of the abovedisclosure.

Some portions of this description describe the embodiments of theinvention in terms of algorithms and symbolic representations ofoperations on information. These algorithmic descriptions andrepresentations are commonly used by those skilled in the dataprocessing arts to convey the substance of their work effectively toothers skilled in the art. These operations, while describedfunctionally, computationally, or logically, are understood to beimplemented by computer programs or equivalent electrical circuits,microcode, or the like. Furthermore, it has also proven convenient attimes, to refer to these arrangements of operations as modules, withoutloss of generality. The described operations and their associatedmodules may be embodied in software, firmware, hardware, or anycombinations thereof.

Any of the steps, operations, or processes described herein may beperformed or implemented with one or more hardware or software modules,alone or in combination with other devices. In one embodiment, asoftware module is implemented with a computer program productcomprising a computer-readable medium containing computer program code,which can be executed by a computer processor for performing any or allof the steps, operations, or processes described.

Embodiments of the invention may also relate to an apparatus forperforming the operations herein. This apparatus may be speciallyconstructed for the required purposes, and/or it may comprise ageneral-purpose computing device selectively activated or reconfiguredby a computer program stored in the computer. Such a computer programmay be stored in a tangible computer readable storage medium or any typeof media suitable for storing electronic instructions, and coupled to acomputer system bus. Furthermore, any computing systems referred to inthe specification may include a single processor or may be architecturesemploying multiple processor designs for increased computing capability.

Embodiments of the invention may also relate to a computer data signalembodied in a carrier wave, where the computer data signal includes anyembodiment of a computer program product or other data combinationdescribed herein. The computer data signal is a product that ispresented in a tangible medium or carrier wave and modulated orotherwise encoded in the carrier wave, which is tangible, andtransmitted according to any suitable transmission method.

Finally, the language used in the specification has been principallyselected for readability and instructional purposes, and it may not havebeen selected to delineate or circumscribe the inventive subject matter.It is therefore intended that the scope of the invention be limited notby this detailed description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of the embodimentsof the invention is intended to be illustrative, but not limiting, ofthe scope of the invention, which is set forth in the following claims.

1. A method for displaying content in a social networking service, themethod comprising: receiving by a social networking service a pluralityof content items from users of the social networking service; providinga user interface to a user of the social networking service; displayingin the user interface some of the content items received from users towhom the user is connected in the social networking service; providingto the user one or more selectable filters, each filter specifying acriteria to be applied to the content items; receiving a selection of afilter from the user; and responsive to the selection of the filter,updating the user interface to display only those content itemsconsistent with the selected filter.
 2. The method of claim 1, whereinthe one or more selectable filters comprises one or more groups of usersof the social networking service.
 3. The method of claim 2, wherein atleast one of the groups of users is created automatically based on atleast one common characteristic of the users.
 4. The method of claim 1,wherein the one or more selectable filters includes a user-defined listof other users.
 5. The method of claim 1, wherein the one or moreselectable filters include one or more content filters that identify atype of content from the received content items.
 6. The method of claim5, wherein one of the content filters identifies one or more photos. 7.The method of claim 5, wherein one of the content filters identifies oneor more videos.
 8. The method of claim 5, wherein one of the contentfilters identifies text updates.
 9. The method of claim 5, wherein oneof the content filters identifies one or more hyperlinks.
 10. The methodof claim 5, wherein one of the content filters identifies content froman application within the social networking service.
 11. The method ofclaim 1, wherein displaying in the user interface some of the contentitems received from users comprises displaying a feed.
 12. The method ofclaim 11, wherein the feed comprises a content feed that includes asubset of recent content items provided by other users to whom the userhas a connection.
 13. The method of claim 12, wherein the content itemsin the content feed are organized in reverse chronological order. 14.The method of claim 12, wherein the content items in the content feedare displayed as comments from the users who provided the content items.15. The method of claim 11, wherein the feed comprises a highlights feedthat includes a subset of content items selected by the socialnetworking service as a function of an affinity between the user and thecontent items.
 16. The method of claim 15, wherein the content items inthe highlights feed are organized at least in part by an affinitybetween the particular user and the content item.
 17. The method ofclaim 15, wherein the content items in the highlights feed includestories about actions taken by other users.
 18. The method of claim 11,wherein the feed further includes advertisements.
 19. The method ofclaim 1, further comprising: displaying in the user interface a composerinterface that enables the user to upload content items to the socialnetworking service.
 20. The method of claim 19, wherein the composerinterface enables the user to upload a plurality of types of contentitems, the method further comprising: responsive to the selection of afilter specifying a type of content, updating the displayed composerinterface to facilitate the uploading of the type of content specifiedby the selected filter.
 21. A method for displaying content in a socialnetworking service, the method comprising: receiving content generatedby users of a social networking service; receiving a request forinformation from a user of the social networking service; providing auser interface for display to a client device of the user responsive tothe request, wherein the user interface comprises: a content feed thatincludes a subset of content items provided by other users to whom theuser has a connection, highlights feed that includes a subset of contentitems selected by the social networking service as a function of anaffinity between the user and the content items or between the user andother users of the social networking system, and one or more selectablefilters, each filter specifying a criteria to be applied to the contentitems; receiving a selection of a filter from the user; and responsiveto the selection, updating the user interface to be displayed by theclient device, wherein at least one of the content feed and thehighlights feed are updated to include only those content itemsconsistent with the selected filter.
 22. The method of claim 21, whereinthe user interface further comprises a composer interface that enablesthe user to upload a plurality of types of content in the socialnetworking service.
 23. The method of claim 22, further comprising:responsive to the selection of a filter specifying a type of content,updating the displayed composer interface to facilitate the uploading ofthe type of content specified by the selected filter.
 24. The method ofclaim 22, wherein the one or more selectable filters comprises one ormore groups of users of the social networking service.
 25. The method ofclaim 22, wherein the one or more selectable filters comprises one ormore content filters that identify a type of content from the receivedcontent items.
 26. A computer system for displaying content in a socialnetworking service, the system comprising: a communications moduleconfigured to receive a plurality of content items from users of thesocial networking service; a user interface generating module configuredto provide a user interface to a user of the social networking servicevia the communications module, to display in the user interface one ormore content items received from users to whom the user is connected ina social networking service, and to provide one or more selectablefilters, each filter specifying a criteria to be applied to the contentitems; wherein the communications module is further configured toreceive a selection of a filter from the user, and wherein, responsiveto the selection of the filter, the user interface generating module isfurther configured to update the user interface to display only thosecontent items consistent with the selected filter.
 27. The system ofclaim 26, wherein the one or more selectable filters comprises one ormore groups of users of the social networking service.
 28. The system ofclaim 26, wherein at least one of the groups is created automaticallybased on at least one common characteristic of the users.
 29. The systemof claim 26, wherein the one or more selectable filters comprises one ormore content filters that identify a type of content from the receivedcontent items.